Cluster_High_Availability
Cluster High Availability
A newer feature of kubeadm
is the integrated ability to join multiple master nodes with collocated etcd
databases. This allows for higher redundancy and fault tolerance. As long as the database services the cluster will continue to run and catch up with kubelet
information should the master node go down and be brought back online.
Three instances are required for etcd
to be able to determine quorum if the data is accurate, or if the data is corrupt, the database could become unavailable. Once etcd
is able to determine quorum, it will elect a leader and return to functioning as it had before failure.
One can either collocate the database with control planes or use an external etcd
database cluster. The kubeadm
command makes the collocated deployment easier to use.
To ensure that workers and other control planes continue to have access, it is a good idea to use a load balancer. The default configuration leverages SSL, so you may need to configure the load balancer as a TCP pass through unless you want the extra work of certificate configuration. As the certificates will be decoded only for particular node names, it is a good idea to use a FQDN instead of an IP address, although there are many possible ways to handle access.